label descent
the idea is to define operators that can act on whole categories of objects
instead of being defined with respect to a single specific ket
the most common use cases are: |some category: *> and |*>
|some category: *> is used to define operators with respect to only kets with the category "some category"
while |*> is used to define operators with respect to all kets
noting that operators defined with respect to |*> have lower precedence than operators defined with respect to a specific ket
allowing us to define specific rules that over-write and have higher precedence than general rules